//Copyright (c) 2006-2007 Microsoft Corporation.  All rights reserved
using System;
using System.Xml;

namespace InvocationFramework.Core.Configuration
{
    /// <summary>
    /// Representa la configuracion de un adaptador
    /// </summary>
    internal class AdapterElement
    {
        #region Properties

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private string _id;

        /// <summary>
        /// Identificador del adaptador
        /// </summary>
        public string Id
        {
            get
            {
                return _id;
            }
            set
            {
                _id = value;
            }
        }

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private int _order;

        /// <summary>
        /// Orden de utilizacion del adaptador
        /// </summary>
        public int Order
        {
            get
            {
                return _order;
            }
            set
            {
                _order = value;
            }
        }

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private bool _enabled;

        /// <summary>
        /// Indica si el adaptador esta habilitado o no
        /// </summary>
        public bool Enabled
        {
            get
            {
                return _enabled;
            }
            set
            {
                _enabled = value;
            }
        }
        
        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private string _type;
        
        /// <summary>
        /// Tipo .Net donde esta implementado el adaptador
        /// </summary>
        public string Type
        {
            get
            {
                return _type;
            }
            set
            {
                _type = value;
            }
        }

        /// <summary>
        /// Variable privada para el manejo de la propiedad
        /// </summary>
        private XmlNode _adapterConfiguration;

        /// <summary>
        /// configuracion del adaptador
        /// </summary>
        public XmlNode AdapterConfiguration
        {
            get
            {
                return _adapterConfiguration;
            }
            set
            {
                _adapterConfiguration = value;
            }
        }

        #endregion
    }
}